package com.zp.business.entity.patient.bo;

import com.zp.common.core.entity.BaseEntity;
import com.zp.common.core.validate.AddGroup;
import com.zp.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * 病人信息表业务对象
 *
 * @author zhang peng
 * @ date 2023-12-26
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class PatMasterIndexBo extends BaseEntity {

    /**
     * 主键
     */
    @NotBlank(message = "主键不能为空", groups = {EditGroup.class})
    private String id;

    /**
     * 姓名
     */
    @NotBlank(message = "姓名不能为空", groups = {AddGroup.class, EditGroup.class})
    private String name;

    /**
     * 姓名拼音码
     */
    private String inputCode;

    /**
     * 性别
     */
    private String sex;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 年龄-月
     */
    private Integer ageMonth;

    /**
     * 年龄-天
     */
    private Integer ageDay;

    /**
     * 年龄-时
     */
    private Integer ageHours;

    /**
     * 年龄-分
     */
    private Integer ageMinutes;

    /**
     * 民族
     */
    private String nation;

    /**
     * 国籍
     */
    private String nationality;

    /**
     * 生日
     */
    private Date birthdayDate;

    /**
     * 体重
     */
    private String weight;

    /**
     * 婚姻
     */
    private String marriage;

    /**
     * 籍贯代码
     */
    private String nativePlaceCode;

    /**
     * 籍贯
     */
    private String nativePlace;

    /**
     * 邮编
     */
    private String zipCode;

    /**
     * 出生地代码
     */
    private String homePlaceCode;

    /**
     * 出生地
     */
    private String homePlace;

    /**
     * 乡组
     */
    private String countryGroup;

    /**
     * 现住址代码
     */
    private String addressCode;

    /**
     * 住址
     */
    private String address;

    /**
     * 职业
     */
    private String identity;

    /**
     * 身份证号
     */
    private String idNo;

    /**
     * 电话
     */
    private String phone;

    /**
     * 联系人
     */
    private String contacts;

    /**
     * 联系人地址
     */
    private String contactsAddress;

    /**
     * 联系人电话
     */
    private String contactsPhone;

    /**
     * 合同单位
     */
    private String unitInContract;

    /**
     * 单位税号
     */
    private String unitEin;

    /**
     * 优惠类别
     */
    private String preferenceType;

    /**
     * 费别
     */
    private String chargeType;

    /**
     * 机构ID
     */
    @NotBlank(message = "机构ID不能为空", groups = {AddGroup.class, EditGroup.class})
    private String orgId;

    /**
     * linkface人脸识别ID
     */
    private String linkfaceId;

    /**
     * 备注信息
     */
    private String remarks;

    /**
     * 头像
     */
    private String headPortrait;

    /**
     * 监护人姓名
     */
    private String guardianName;

    /**
     * 监护人电话
     */
    private String guardianPhone;

    /**
     * 文化程度
     */
    private String eduLevel;

    /**
     * 参保类型
     */
    private String canBaoType;


}
